/**
 * 
 */



/**
 * @author Sasha
 *
 */
 
 public abstract class Person implements IShow
 {

	protected String fName;
	protected int fAge;
	
	protected Person()
	{
		this.fName = "";
		this.fAge = 0;
	}
	public GetName()
	{
		return this.fName;
	}
	public String toString()
	{
		return "Name: ${this.fName}; Age: ${this.fAge};"
	}
	public void Show()
	{
		println "Name: ${this.fName}";
		println "Age: ${this.fAge}";
	}
}

 public class Worker extends Person implements IShow
 {
	private int fSection;
	
	public Worker()
	{
		super();
		this.fSection = 0;
	}
	public String toString()
	{
		return "Worker:  Name: ${this.fName}; Age: ${this.fAge}; Section: ${this.fSection};"
	}
	public void Show()
	{
		println "";
		println "Worker:";
		super.Show();
		println "Section: ${this.fSection}";
	}
}

 public class Enginer extends Person implements IShow
 {

	private int fQualification;
	
	public Enginer()
	{
		super();
		this.fQualification = 0;
	}
	public String toString()
	{
		return "Enginer:  Name: ${this.fName}; Age: ${this.fAge}; Qualification: ${this.fQualification};"
	}
	public void Show()
	{
		println "";
		println "Enginer:";
		super.Show();
		println "Qualification: ${this.fQualification}";
	}
}

 public class Management extends Person implements IShow
 {

	private int fTelephone;
	
	public Management()
	{
		super();
		this.fTelephone = 0;
	}
	public String toString()
	{
		return "Management:  Name: ${this.fName}; Age: ${this.fAge}; Telephone: ${this.fTelephone};"
	}
	public void Show()
	{
		println "";
		println "Management:";
		super.Show();
		println "Telephone: ${this.fTelephone}";
	}
}